package com.yan.dao.impl;

import java.util.List;

import org.springframework.orm.hibernate4.HibernateTemplate;

import com.yan.daos.FriendDao;
import com.yan.pojo.Friend;

/**
 *@className:FriendDaoImpl
 * @author:颜烈
 * @date:2017年12月25日
 * @Discription:联系人Dao层
 */

public class FriendDaoImpl implements FriendDao {

	private HibernateTemplate hibernateTemplate;
	
	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}

	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

	/**
	 * @Discription:查询所有联系人
	 */
	public List<Object> findAllFriends(Friend friend) {
		String hql = "from Friend ";
		@SuppressWarnings("unchecked")
		List<Object> list = (List<Object>) hibernateTemplate.find(hql);
		if (list.size() > 0) {
			return list;
		} else {			
			return null;
		}
	}
	
	/**
	 * @Discription:添加联系人
	 */
	public void addFriends(Friend friend) {
		int result = (Integer) hibernateTemplate.save(friend);
		if (result > 0) {
			System.out.println("添加成功...");
		} else {			
			System.out.println("添加失败...");
		}
	}

	/**
	 * @Discription:编辑(查询)
	 */
	public List<Friend> selectFriend(Friend friend) {
		String hql = "from Friend where friend_ID=?";
		@SuppressWarnings("unchecked")
		List<Friend> list = (List<Friend>) hibernateTemplate.find(hql, friend.getF_id());
		if (list.size() >0) {
			return list;
		} else {			
			return null;
		}
	}

	/**
	 * @Discription:编辑(修改)
	 */
	public void updateFriend(Friend friend) {
		System.out.println("这是修改操作...");
		hibernateTemplate.update(friend);
	}

	/**
	 * @Discription:删除
	 */
	public void deleteFriend(Friend friend) {
		System.out.println("这是删除操作...");
		hibernateTemplate.delete(friend);
	}

	/**
	 * @Discription:按名字模糊查询
	 */
	public List<Object> blurSelectForName(Friend friend) {
		System.out.println("这是按名字模糊查询...");
		@SuppressWarnings("unchecked")
		List<Object> list = (List<Object>) hibernateTemplate.find( "from Friend where friend_username LIKE ? ", "%"+friend.getF_username()+"%");
		if (list.size() > 0) {
			return list;
		} else {			
			return null;
		}
	}

	/**
	 * @Discription:按手机号码查询
	 */
	public List<Object> blurSelectForPhone(Friend friend) {
		System.out.println("这是按手机号码模糊查询...");
		@SuppressWarnings("unchecked")
		List<Object> list = (List<Object>) hibernateTemplate.find("from Friend where friend_phone LIKE ? ","%"+friend.getF_phone()+"%");
		return list;
	}

	/**
	 * @Discription:删除多个???
	 */
	public Object deleteListById(String[] value, Friend friend) {
		System.out.println("这是多选删除...");
		for (int i = 0; i < value.length; i++) {
			int id_value = Integer.parseInt(value[i]);
			friend.setF_id(id_value);
			hibernateTemplate.delete(friend);
		}
		return null;
	}
	

	
}
